package sdec.bd;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.LinkedList;

import org.apache.commons.fileupload.disk.DiskFileItem;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;


import sdec.oferta.domain.Oferta;
import sdec.usuario.domain.Usuario;

public class consultasbd {
	public static LinkedList<Oferta> getOfertas() {
		LinkedList<Oferta> listaOfertas=new LinkedList<Oferta>();
	    try
	    {
	    	Class.forName("com.mysql.jdbc.Driver");
	    	Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/directorioprofesional", "root", "");
	    	Statement st = conexion.createStatement();
	        ResultSet rs = st.executeQuery("select * from ofertas");	        
	        while (rs.next())
	        {
	        	Oferta oferta = new Oferta();
	        	oferta.setIdOferta(rs.getInt("idOferta"));
	        	oferta.setIdTipoTrabajo(rs.getInt("idTipoTrabajo"));
	        	oferta.setIdCategoria(rs.getInt("IdCategoria"));
	        	oferta.setUsername(rs.getString("username"));
	        	oferta.setTitulo(rs.getString("titulo"));
	        	oferta.setDescripcion(rs.getString("descripcion"));
	        	oferta.setLocalidad(rs.getString("localidad"));
	        	oferta.setPais(rs.getString("pais"));
	        	oferta.setFechaCreacion(rs.getString("fechaCreacion"));
	        	
	        	listaOfertas.add(oferta);
	        }
	        rs.close();
	        st.close();
	        conexion.close();
	     }
	     catch (Exception e)
	     {
	        e.printStackTrace();
	     }
	     return listaOfertas;
	}
	public static LinkedList<Usuario> getUsuarios() {
		LinkedList<Usuario> listaOfertas=new LinkedList<Usuario>();
	    try
	    {
	    	Class.forName("com.mysql.jdbc.Driver");
	    	Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/directorioprofesional", "root", "");
	    	Statement st = conexion.createStatement();
	        ResultSet rs = st.executeQuery("select * from users" );
	        while (rs.next())
	        {
	        	Usuario usuario = new Usuario();
	        	usuario.setUsername(rs.getString("username"));
	        	usuario.setPassword(rs.getString("password"));	        	
	        	usuario.setNombre(rs.getString("nombre"));
	        	usuario.setApellidos(rs.getString("apellidos"));
	        	usuario.setEmail(rs.getString("email"));
	        	usuario.setLocalidad(rs.getString("localidad"));
	        	usuario.setPais(rs.getString("pais"));
	        	usuario.setDescripcion(rs.getString("descripcion"));
	        	usuario.setFechaCreacion(rs.getString("fechaCreacion"));
	        	usuario.setTieneimagen(rs.getBoolean("tieneimagen"));
	        	
	        	listaOfertas.add(usuario);
	        }
	        rs.close();
	        st.close();
	        conexion.close();
	     }
	     catch (Exception e)
	     {
	        e.printStackTrace();
	     }
	     return listaOfertas;
	}
	
	public static Usuario getUsuario(String s) {
		Usuario usuario = new Usuario();
	    try
	    {
	    	Class.forName("com.mysql.jdbc.Driver");
	    	Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/directorioprofesional", "root", "");
	    	
			PreparedStatement ps = conexion.prepareStatement("select * from users where  username = ?");
			ps.setString(1, s);
			ResultSet rs = ps.executeQuery();					
	    	
			if (rs.next())
	        {	        	
	        	usuario.setUsername(rs.getString("username"));
	        	usuario.setPassword(rs.getString("password"));	        	
	        	usuario.setNombre(rs.getString("nombre"));
	        	usuario.setApellidos(rs.getString("apellidos"));
	        	usuario.setEmail(rs.getString("email"));
	        	usuario.setLocalidad(rs.getString("localidad"));
	        	usuario.setPais(rs.getString("pais"));
	        	usuario.setDescripcion(rs.getString("descripcion"));
	        	usuario.setFechaCreacion(rs.getString("fechaCreacion"));
	        	usuario.setTieneimagen(rs.getBoolean("tieneimagen"));
	        }
	        rs.close();
	        ps.close();
	        conexion.close();
	     }
	     catch (Exception e)
	     {
	        e.printStackTrace();
	     }
	     return usuario;
	}
}
